public class java0709 {
    public static void main(String[] args) {
        int rows = 10; // 定义要打印的行数

        // 打印杨辉三角
        printPascalTriangle(rows);
    }

    /**
     * 打印杨辉三角
     * @param numRows 要打印的行数
     */
    public static void printPascalTriangle(int numRows) {
        // 创建一个二维数组来存储杨辉三角的值
        int[][] triangle = new int[numRows][];

        // 初始化每一行
        for (int i = 0; i < numRows; i++) {
            triangle[i] = new int[i + 1];
            // 每行的第一个和最后一个元素总是1
            triangle[i][0] = 1;
            triangle[i][i] = 1;

            // 计算中间的元素
            for (int j = 1; j < i; j++) {
                triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
            }
        }

        // 打印杨辉三角
        for (int i = 0; i < triangle.length; i++) {
            // 打印前导空格，使三角形居中
            for (int k = 0; k < numRows - i - 1; k++) {
                System.out.print(" ");
            }

            // 打印当前行的数字
            for (int j = 0; j < triangle[i].length; j++) {
                System.out.print(triangle[i][j] + " ");
            }
            System.out.println();
        }
    }
}